package com.piece.core.pay.dto;

import lombok.Data;
import java.util.Date;
import java.util.Map;

/**
 * 统一下单请求数据
 */
@Data
public class PayOrderUnifiedReqDTO {

    /**
     * 用户 IP
     */
    private String userIp;

    // ========== 商户相关字段 ==========
    /**
     * 商户订单编号
     */
    private String merchantOrderId;

    /**
     * 商品标题
     */
    private String subject;

    /**
     * 商品描述信息
     */
    private String body;

    /**
     * 支付结果的 notify 回调地址
     */
    private String notifyUrl;

    /**
     * 支付结果的 return 回调地址
     */
    //@URL(message = "支付结果的 return 回调地址必须是 URL 格式")
    private String returnUrl;

    // ========== 订单相关字段 ==========
    /**
     * 支付金额，单位：分
     */
    private Long amount;

    /**
     * 支付过期时间
     */
    private Date expireTime;

    // ========== 拓展参数 ==========
    /**
     * 支付渠道的额外参数
     */
    private Map<String, String> channelExtras;
}
